package org.jeecg.modules.meter.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.entity.basedata.BaseCustomer;
import org.jeecg.entity.basedata.BaseProject;
import org.jeecg.entity.basedata.BaseTenant;
import org.jeecg.entity.charge.*;
import org.jeecg.entity.charge.ChargeBills;
import org.jeecg.entity.meter.MeterHandRead;
import org.jeecg.vo.basedata.BaseRoomMeterVo;

import java.util.List;

/**
 * @Description: 手抄表
 * @Author: jeecg-boot
 * @Date:   2021-01-17
 * @Version: V1.0
 */
public interface IMeterHandReadService extends IService<MeterHandRead> {

    List<ChargeFeeitem> queryFeeList();

    List<MeterHandRead> findPage(Page<MeterHandRead> page, BaseRoomMeterVo room);

    List<BaseProject> queryProjectList(String parentId);

    ChargeFeeRule queryChargeRule(String feeId, String roomId);

    MeterHandRead queryChargeLastRead(String feeId,String roomId);

    BaseCustomer queryCustomerInfo(String roomId);

    BaseTenant queryTenantInfo(String roomId);



    List<ChargeFeeitem> queryFeeItemByCode(String feeCode,String feeCodeName);

    ChargeFeeitem queryChargeFeeItemByCodeAndName(String feeCodeName, String feeCode);

    void updateBillsStatus(String id);

    List<MeterHandRead> handHistoryRead(String id,String feeId);

    List<MeterHandRead> allRead(Page<MeterHandRead> page, BaseRoomMeterVo baseRoomMeterVo);

    String saveBatchBills(List<String> idList);

    Integer rollBackBillsStatus(String handId);

    List<MeterHandRead> queryAllRoomHandList(Page<MeterHandRead> page, String roomId);
}
